home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HPAVC
/
HPAVC CD-ROM.iso
/
ARASAN_S.ZIP
/
RMOVE.CPP
< prev
next >
Wrap
C/C++ Source or Header
|
1994-08-01
|
1KB
|
38 lines
// Copyright 1994 by Jon Dart. All Rights Reserved.
#include "rmove.h"
#ifdef __BORLANDC__
#include <memory.h>
#endif
ReversibleMove::ReversibleMove()
: ExtendedMove()
{
// These fields have no meaning for the default constructor, but
// initialize them to something legal anyway.
old_castlestatus[White] = old_castlestatus[Black] = Board::CanCastleEitherSide;
old_enpassantsq[White] = old_enpassantsq[Black] = 0;
}
ReversibleMove::ReversibleMove( const Board &ABoard, const Square start,
const Square dest, const Piece::PieceType p )
: ExtendedMove( ABoard, start, dest, p )
{
old_hashcode = ABoard.HashCode();
old_castlestatus[White] = ABoard.CastleStatus(White);
old_castlestatus[Black] = ABoard.CastleStatus(Black);
old_enpassantsq[White] = ABoard.EnPassantSq(White);
old_enpassantsq[Black] = ABoard.EnPassantSq(Black);
}
ReversibleMove::ReversibleMove( const Board &ABoard,
const ExtendedMove &emove) :
ExtendedMove( ABoard, emove )
{
old_hashcode = ABoard.HashCode();
old_castlestatus[White] = ABoard.CastleStatus(White);
old_castlestatus[Black] = ABoard.CastleStatus(Black);
old_enpassantsq[White] = ABoard.EnPassantSq(White);
old_enpassantsq[Black] = ABoard.EnPassantSq(Black);
}